home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 9 / CDACTUAL9.iso / share / Dos / VARIOS / pascal / PRINTING.SWG / 0001_HP-DESKJET UNIT.pas
Encoding:
Pascal/Delphi Source File  |  1996-02-21  |  12.3 KB  |  440 lines

  1. {
  2. I have just made a HP DESKJET Unit. Maybe there are some interested out there.
  3. Please write me a message if you are going to use it...
  4. Here it is :
  5.  
  6. {-----------------------CUT CUT CUT CUT CUT CUT---------------------------}
  7.  
  8. {                           HP-DESKJET v1.0
  9.                     THE ULTIMATE HP DESKJET UNIT
  10.           (C)COPYRIGHT 1996 DIMENSION X ■ DONE BY BUCKSHAG
  11.  
  12.  This unit is made by : John Vd Burg a.k.a. BuCKSHaG from DiMeNSioN X
  13.  The unit has been tested on a HP DESKJET 500 and 520. But i Think it
  14.  will work on all of the HP DESKJETS. Feel free to use it in your
  15.  programs, but please give me some credits :)
  16.  To the makers of SWAG : "Feel free to put it in the SWAG files".
  17.  
  18.  Grtx BuCKSHaG/DiMeNSioN X}
  19.  
  20. Unit DESKJET;
  21. INTERFACE
  22. Uses Crt,Printer;
  23. Var Command:string;
  24.  
  25. Procedure HP_RESET;                             {Resets The Printer}
  26. Procedure HP_SELFTEST;                          {Perform A Selftest}
  27. Procedure HP_EJECT;                             {Eject A Page}
  28. Procedure HP_TRAYFEED;                          {Prepare Page For Printing}
  29. Procedure HP_ENVFEED;                           {Envelope Feed}
  30. Procedure HP_LEFTTORIGHT;                       {Prints From Left To Right}
  31. Procedure HP_BIDIRECTIONAL;                     {Prints From Both Sides}
  32. Procedure HP_RIGHTTOLEFT;                       {Prints From Right To Left}
  33. Procedure HP_SingleFIXED;                       {Underline Method (Single)}
  34. Procedure HP_SingleFLOAT;                       {Underline Method (Single)}
  35. Procedure HP_DoubleFIXED;                       {Underline Method (Double)}
  36. Procedure HP_DoubleFLOAT;                       {Underline Method (Double)}
  37. Procedure HP_UNDERLINEOFF;                      {Turns Underline Usage OFF}
  38. Procedure HP_EOLoff;                            {Wrap Text At Eoln OFF}
  39. Procedure HP_EOLon;                             {Wrap Text At Eoln ON}
  40. Procedure HP_DisplayON;                         {Turns Display ON}
  41. Procedure HP_DisplayOFF;                        {Turns Display OFF}
  42. Procedure HP_LineByLineON;                      {Line By Line Printing ON}
  43. Procedure HP_LineByLineOFF;                     {Line By Line Printing OFF}
  44. Procedure HP_DEFAULTSIZE;                       {Default Paper Size}
  45. Procedure HP_USLETTERSIZE;                      {US-Letter Paper Size}
  46. Procedure HP_USLEGALSIZE;                       {US-Legal Paper Size}
  47. Procedure HP_A4SIZE;                            {A4 Paper Size}
  48. Procedure HP_ENVELOPESIZE;                      {Envelope Paper Size}
  49. Procedure HP_LANDSCAPE;                         {Landscape Printing ON}
  50. Procedure HP_PORTRAIT;                          {Portrait Printing ON}
  51. Procedure HP_LINESPERINCH(x:integer);           {[X] Number Of Lines Per Inch}
  52. Procedure HP_LINES(x:integer);                  {[X] Number Of Lines Per Page}
  53. Procedure HP_CHARPERINCH(x:integer);            {[X] Number Of Chars Per Inch}
  54. Procedure HP_UPRIGHT;                           {Straight Letters}
  55. Procedure HP_ITALIC;                            {Cursive Letters}
  56. Procedure HP_NORMAL;                            {Normal Letters}
  57. Procedure HP_BOLD;                              {Bold Printing On}
  58. Procedure HP_EXTRABOLD;                         {Extra Bold Printing ON}
  59. Procedure HP_HIGHQUALITY;                       {High Quality Printing ON}
  60. Procedure HP_LOWQUALITY;                        {Low Quality Printing ON}
  61. Procedure HP_75dpi;                             {75 Dots Per INCH Print Res.}
  62. Procedure HP_100dpi;                            {100 Dots Per INCH Print Res.}
  63. Procedure HP_150dpi;                            {150 Dots Per INCH Print Res.}
  64. Procedure HP_300dpi;                            {300 Dots Per INCH Print Res.}
  65. Procedure HP_COURIER;                           {Font}
  66. Procedure HP_CGTIMES;                           {Font}
  67. Procedure HP_LETTERGOTHIC;                      {Font}
  68. Procedure HP_LINEPRINTER;                       {Font}
  69. Procedure HP_PICA;                              {Font}
  70. Procedure HP_PRESTIGE;                          {Font}
  71. Procedure HP_ELITE;                             {Font}
  72. Procedure HP_SCRIPT;                            {Font}
  73. Procedure HP_HELVETICA;                         {Font}
  74. Procedure HP_TIMESROMAN;                        {Font}
  75. Procedure HP_PRESENTATIONS;                     {Font}
  76. Procedure HP_CGCENTURY;                         {Font}
  77. Procedure HP_BRUSH;                             {Font}
  78. Procedure HP_DOMCASUAL;                         {Font}
  79. Procedure HP_UNIVERSCONDESED;                   {Font}
  80. Procedure HP_GARAMOND;                          {Font}
  81. Procedure HP_UNIVERS;                           {Font}
  82. Procedure HP_CGTRIUMVIRATE;                     {Font}
  83.  
  84. IMPLEMENTATION
  85.  
  86. Procedure HP_RESET;                             {Resets The Printer}
  87.  Begin
  88.   Command:=#27+'E';
  89.   Writeln(lst,command);
  90.  End;
  91.  
  92. Procedure HP_SELFTEST;                          {Perform A Selftest}
  93.  Begin
  94.   Command:=#27+'z';
  95.   Writeln(lst,command);
  96.  End;
  97.  
  98. Procedure HP_EJECT;                             {Eject A Page}
  99.  Begin
  100.   Writeln(lst,#12);
  101.  End;
  102.  
  103. Procedure HP_TRAYFEED;                          {Prepare Page For Printing}
  104.  Begin
  105.   Command:=#27+'&11H';
  106.   Writeln(lst,command);
  107.  End;
  108.  
  109. Procedure HP_ENVFEED;                           {Envelope Feed}
  110.  Begin
  111.   Command:=#27+'&13H';
  112.   Writeln(lst,command);
  113.  End;
  114.  
  115. Procedure HP_LEFTTORIGHT;                       {Prints From Left To Right}
  116.  Begin
  117.   Command:=#27+'&k0W';
  118.   Writeln(lst,command);
  119.  End;
  120.  
  121. Procedure HP_BIDIRECTIONAL;                     {Prints From Both Sides}
  122.  Begin
  123.   Command:=#27+'&k1W';
  124.   Writeln(lst,command);
  125.  End;
  126.  
  127. Procedure HP_RIGHTTOLEFT;                       {Prints From Right To Left}
  128.  Begin
  129.   Command:=#27+'&k2W';
  130.   Writeln(lst,command);
  131.  End;
  132.  
  133. Procedure HP_SingleFIXED;                       {Underline Method (Single)}
  134.  Begin
  135.   Command:=#27+'&d1D';
  136.   Writeln(lst,command);
  137.  End;
  138.  
  139. Procedure HP_SingleFLOAT;                       {Underline Method (Single)}
  140.  Begin
  141.   Command:=#27+'&d3D';
  142.   Writeln(lst,command);
  143.  End;
  144.  
  145. Procedure HP_DoubleFIXED;                       {Underline Method (Double)}
  146.  Begin
  147.   Command:=#27+'&d2D';
  148.   Writeln(lst,command);
  149.  End;
  150.  
  151. Procedure HP_DoubleFLOAT;                       {Underline Method (Double)}
  152.  Begin
  153.   Command:=#27+'&d4D';
  154.   Writeln(lst,command);
  155.  End;
  156.  
  157. Procedure HP_UNDERLINEOFF;                      {Turns Underline Usage OFF}
  158.  Begin
  159.   Command:=#27+'&d@';
  160.   Writeln(lst,command);
  161.  End;
  162.  
  163. Procedure HP_EOLoff;                            {Wrap Text At Eoln OFF}
  164.  Begin
  165.   Command:=#27+'&s1C';
  166.   Writeln(lst,command);
  167.  End;
  168.  
  169. Procedure HP_EOLon;                             {Wrap Text At Eoln ON}
  170.  Begin
  171.   Command:=#27+'&s0C';
  172.   Writeln(lst,command);
  173.  End;
  174.  
  175. Procedure HP_DisplayON;                         {Turns Display ON}
  176.  Begin
  177.   Command:=#27+'Y';
  178.   Writeln(lst,command);
  179.  End;
  180.  
  181. Procedure HP_DisplayOFF;                        {Turns Display OFF}
  182.  Begin
  183.   Command:=#27+'Z';
  184.   Writeln(lst,command);
  185.  End;
  186.  
  187. Procedure HP_LineByLineON;                      {Line By Line Printing ON}
  188.  Begin
  189.   Command:=#27+'&k0E';
  190.   Writeln(lst,command);
  191.  End;
  192.  
  193. Procedure HP_LineByLineOFF;                     {Line By Line Printing OFF}
  194.  Begin
  195.   Command:=#27+'&k1E';
  196.   Writeln(lst,command);
  197.  End;
  198.  
  199. Procedure HP_DEFAULTSIZE;                       {Default Paper Size}
  200.  Begin
  201.   Command:=#27+'&10A';
  202.   Writeln(lst,command);
  203.  End;
  204.  
  205. Procedure HP_USLETTERSIZE;                      {US-Letter Paper Size}
  206.  Begin
  207.   Command:=#27+'&12A';
  208.   Writeln(lst,command);
  209.  End;
  210.  
  211. Procedure HP_USLEGALSIZE;                       {US-Legal Paper Size}
  212.  Begin
  213.   Command:=#27+'&13A';
  214.   Writeln(lst,command);
  215.  End;
  216.  
  217. Procedure HP_A4SIZE;                            {A4 Paper Size}
  218.  Begin
  219.   Command:=#27+'&126A';
  220.   Writeln(lst,command);
  221.  End;
  222.  
  223. Procedure HP_ENVELOPESIZE;                      {Envelope Paper Size}
  224.  Begin
  225.   Command:=#27+'&181A';
  226.   Writeln(lst,command);
  227.  End;
  228.  
  229. Procedure HP_LANDSCAPE;                         {Landscape Printing ON}
  230.  Begin
  231.   Command:=#27+'&l1O';
  232.   Writeln(lst,command);
  233.  End;
  234.  
  235. Procedure HP_PORTRAIT;                          {Portrait Printing ON}
  236.  Begin
  237.   Command:=#27+'&l0O';
  238.   Writeln(lst,command);
  239.  End;
  240.  
  241. Procedure HP_LINESPERINCH(x:integer);           {[X] Number Of Lines Per Inch}
  242. Var y:string;
  243.  Begin
  244.   Str(x,y);
  245.   Command:=#27+'&1'+y+'D';
  246.   Writeln(lst,command);
  247.  End;
  248.  
  249. Procedure HP_LINES(x:integer);                  {[X] Number Of Lines Per Page}
  250. Var y:String;
  251.  Begin
  252.   Str(x,y);
  253.   Command:=#27+'&1l'+y+'P';
  254.   Writeln(lst,command);
  255.  End;
  256.  
  257. Procedure HP_CHARPERINCH(x:integer);            {[X] Number Of Chars Per Inch}
  258. Var y:String;
  259.  Begin
  260.   Str(x,y);
  261.   Command:=#27+'&(s'+y+'H';
  262.   Writeln(lst,command);
  263.  End;
  264.  
  265. Procedure HP_UPRIGHT;                           {Straight Letters}
  266.  Begin
  267.   Command:=#27+'(s0S';
  268.   Writeln(lst,command);
  269.  End;
  270.  
  271. Procedure HP_ITALIC;                            {Cursive Letters}
  272.  Begin
  273.   Command:=#27+'(s1S';
  274.   Writeln(lst,command);
  275.  End;
  276.  
  277. Procedure HP_NORMAL;                            {Normal Letters}
  278.  Begin
  279.   Command:=#27+'(s0B';
  280.   Writeln(lst,command);
  281.  End;
  282.  
  283. Procedure HP_BOLD;                              {Bold Printing On}
  284.  Begin
  285.   Command:=#27+'(s3B';
  286.   Writeln(lst,command);
  287.  End;
  288.  
  289. Procedure HP_EXTRABOLD;                         {Extra Bold Printing ON}
  290.  Begin
  291.   Command:=#27+'(s7B';
  292.   Writeln(lst,command);
  293.  End;
  294.  
  295. Procedure HP_HIGHQUALITY;                       {High Quality Printing ON}
  296.  Begin
  297.   Command:=#27+'(s2Q';
  298.   Writeln(lst,command);
  299.  End;
  300.  
  301. Procedure HP_LOWQUALITY;                        {Low Quality Printing ON}
  302.  Begin
  303.   Command:=#27+'(s1Q';
  304.   Writeln(lst,command);
  305.  End;
  306.  
  307. Procedure HP_75dpi;                             {75 Dots Per INCH Print Res.}
  308.  Begin
  309.   Command:=#27+'*t75R';
  310.   Writeln(lst,command);
  311.  End;
  312.  
  313. Procedure HP_100dpi;                            {100 Dots Per INCH Print Res.}
  314.  Begin
  315.   Command:=#27+'*t100R';
  316.   Writeln(lst,command);
  317.  End;
  318.  
  319. Procedure HP_150dpi;                            {150 Dots Per INCH Print Res.}
  320.  Begin
  321.   Command:=#27+'*t150R';
  322.   Writeln(lst,command);
  323.  End;
  324.  
  325. Procedure HP_300dpi;                            {300 Dots Per INCH Print Res.}
  326.  Begin
  327.   Command:=#27+'*t300R';
  328.   Writeln(lst,command);
  329.  End;
  330.  
  331. Procedure HP_COURIER;                           {Font}
  332.  Begin
  333.   Command:=#27+'(s3T';
  334.   Writeln(lst,command);
  335.  End;
  336.  
  337. Procedure HP_CGTIMES;                           {Font}
  338.  Begin
  339.   Command:=#27+'(s4101T';
  340.   Writeln(lst,command);
  341.  End;
  342.  
  343. Procedure HP_LETTERGOTHIC;                      {Font}
  344.  Begin
  345.   Command:=#27+'(s6T';
  346.   Writeln(lst,command);
  347.  End;
  348.  
  349. Procedure HP_LINEPRINTER;                       {Font}
  350.  Begin
  351.   Command:=#27+'(S0T';
  352.   Writeln(lst,command);
  353.  End;
  354.  
  355. Procedure HP_PICA;                              {Font}
  356.  Begin
  357.   Command:=#27+'(s1T';
  358.   Writeln(lst,command);
  359.  End;
  360.  
  361. Procedure HP_PRESTIGE;                          {Font}
  362.  Begin
  363.   Command:=#27+'(s8T';
  364.   Writeln(lst,command);
  365.  End;
  366.  
  367. Procedure HP_ELITE;                             {Font}
  368.  Begin
  369.   Command:=#27+'(s2T';
  370.   Writeln(lst,command);
  371.  End;
  372.  
  373. Procedure HP_SCRIPT;                            {Font}
  374.  Begin
  375.   Command:=#27+'(s7T';
  376.   Writeln(lst,command);
  377.  End;
  378.  
  379. Procedure HP_HELVETICA;                         {Font}
  380.  Begin
  381.   Command:=#27+'(s4T';
  382.   Writeln(lst,command);
  383.  End;
  384.  
  385. Procedure HP_TIMESROMAN;                        {Font}
  386.  Begin
  387.   Command:=#27+'(s5T';
  388.   Writeln(lst,command);
  389.  End;
  390.  
  391. Procedure HP_PRESENTATIONS;                     {Font}
  392.  Begin
  393.   Command:=#27+'(s11T';
  394.   Writeln(lst,command);
  395.  End;
  396.  
  397. Procedure HP_CGCENTURY;                         {Font}
  398.  Begin
  399.   Command:=#27+'(s23T';
  400.   Writeln(lst,command);
  401.  End;
  402.  
  403. Procedure HP_BRUSH;                             {Font}
  404.  Begin
  405.   Command:=#27+'(s32T';
  406.   Writeln(lst,command);
  407.  End;
  408.  
  409. Procedure HP_DOMCASUAL;                         {Font}
  410.  Begin
  411.   Command:=#27+'(s61T';
  412.   Writeln(lst,command);
  413.  End;
  414.  
  415. Procedure HP_UNIVERSCONDESED;                   {Font}
  416.  Begin
  417.   Command:=#27+'(s85T';
  418.   Writeln(lst,command);
  419.  End;
  420.  
  421. Procedure HP_GARAMOND;                          {Font}
  422.  Begin
  423.   Command:=#27+'(s101T';
  424.   Writeln(lst,command);
  425.  End;
  426.  
  427. Procedure HP_UNIVERS;                           {Font}
  428.  Begin
  429.   Command:=#27+'(s52T';
  430.   Writeln(lst,command);
  431.  End;
  432.  
  433. Procedure HP_CGTRIUMVIRATE;                     {Font}
  434.  Begin
  435.   Command:=#27+'(s4T';
  436.   Writeln(lst,command);
  437.  End;
  438.  
  439. end.
  440.